Java处理CSV文件中的换行符等字符

您所在的位置:网站首页 java 文件写入换行 Java处理CSV文件中的换行符等字符

Java处理CSV文件中的换行符等字符

2024-07-15 19:13| 来源: 网络整理| 查看: 265

开发的时候需要导出一批数据,为了方便使用的CSV格式。当时就只是简单的用逗号分隔,但是因为部分字段含有换行符、引号、逗号,导致用Excel打开的时候部分数据错位了,于是又将那几个字段处理了一下。

CSV文件本质是一种用逗号和(回车)换行符分割的文本文件,是可以直接中Excel打开的。

处理方式就是在这个字段前后添加双引号,并且将字段中原有的双引号替换为两个双引号。

/** * @author pzzhao * @version 创建时间:2022-5-8 14:46 */ public class CsvUtils { /** * @description: 处理csv文件字段中需要转义的引号 * 添加双引号,防止被字段中的逗号和换行符干扰 * 使其显示为一个单元格 * @param value 待处理的字段值 * @return: {@link String} * @author: pzzhao * @date: 2022-05-08 14:49:46 */ public static String processValueForCsv(String value) { if (value == null) { return ""; } if (value.contains("\"")) { value = value.replaceAll("\"", "\"\""); } value = "\"" + value + "\""; return value; } }

网上有很多现成的CSV工具类的,使用的时候建议还是使用成熟的工具类,也就不用操心这些转义字符的问题了。hutool 工具类里就有现成的CsvUtil。我这个是懒得引用额外的包,所以就自己简单处理了。

下面附上CSV文件个规则:

开头是不留空,以行为单位。可含或不含列名,含列名则居文件第一行。一行数据不跨行,无空行。以半角英文逗号(即,)作分隔符,列为空也要表达其存在。列内容如存在半角引号(即"),替换成半角双引号(“”)转义,即用半角引号(即"")将该字段值包含起来。文件读写时引号,逗号操作规则互逆。内码格式不限,可为 ASCII、Unicode 或者其他。不支持数字不支持特殊字符


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3